/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package finaceiropessoal;

import java.util.Date;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import modelo.Categoria;
import modelo.TipoEnum;
import modelo.Conta;
import modelo.Usuario;

/**
 *
 * @author evandro
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        
        Usuario user = new Usuario();
        user.setLogin("evandro");
        user.setNome("Evandro Miguel Kuszera");
        user.setSenha("123");

        Categoria cat = new Categoria();
        cat.setDescricao("Alimentação");
        cat.setUsuarioId(1);

        Conta c = new Conta();        
        c.setDataBaixa(new Date());
        c.setDataLancamento(new Date());
        c.setDataVencimento(new Date());
        c.setDescricao("Mercado da semana (Bourbon)");
        c.setTipoConta(TipoEnum.DESPESA);
        c.setUsuarioId(51);
        c.setValor(243.65);

        EntityManagerFactory factory = Persistence.createEntityManagerFactory("FinaceiroPessoalPU");
        EntityManager manager = factory.createEntityManager();

        
//        System.out.println("Persistindo objeto 'cat'.");
//        manager.persist(cat);
//        c.setCategoria(cat);
//        System.out.println("Persistindo objeto 'conta'.");
//        manager.persist(c);
//
//        manager.getTransaction().begin();
//        manager.getTransaction().commit();

        // pesquisando e exibindo
        Conta contaDoBd = manager.find(Conta.class, 2L);
        if (contaDoBd!=null){
            System.out.println("Descrição: "+contaDoBd.getDescricao());
            System.out.println("Valor: "+contaDoBd.getValor());
            System.out.println("Vencimento: "+contaDoBd.getDataVencimento());
            System.out.println("Categoria: "+contaDoBd.getCategoria().getId() + " - " + contaDoBd.getCategoria().getDescricao());
        } else {
            System.out.println("NÃO ACHOU NADA!");
        }
        
        
        factory.close();

//        Session session = HibernateUtil.getSessionFactory().openSession();
//        session.beginTransaction();
//        session.persist(cat);
//        session.flush();
//        session.getTransaction().commit();
//        System.out.println("Inserido com sucesso???");
    }

}
